#include "LireNomComp.h"

#include "debugstreams.h"

using namespace std;

/**
 * Constructeur par défaut, initialise le pointeur sur le conteneur.
 *
 * @param[in] ls pointeur sur le conteneur de ListComp, par défaut 0.
 */
LireNomComp::LireNomComp( const vector< ListComp > * ls )
  : lsComp( ls )
{}

/**
 * Destructeur, ne fait rien de spécial.
 */
LireNomComp::~LireNomComp()
{}

/**
 * Méthode qui donne accès au nom de la compétence à partir de
 * l'indice donnée en argument.
 *
 * @param[in] i numéro de la compétence voulue.
 *
 * @return nom de la compétence désirée.
 */
string LireNomComp::operator()( const unsigned int& i ) const
{
  if ( lsComp == 0 )
    {
      warning() << "LireNomComp:lsComp non initialisé" << endreq;
      return "";
    }
  
  debug() << lsComp -> at(i) << endreq;
  
  return lsComp -> at(i) . Nom;
}

/**
 * Permet de redéfinir le pointeur lsComp, ce qui permet d'utiliser
 * une même instance pour plusieurs usages.
 */
void LireNomComp::setComp( const vector< ListComp >* ls )
{
  lsComp = ls;
}
